package 笔试题;

import java.math.BigDecimal;

public class 税 {

    public static void main(String[] args) {
        //158103.81   总收入
        //30002//三险一金
        //16500//

        //应谁    2640
        //许部500多
        BigDecimal 总收入 = new BigDecimal("158103.81");
        BigDecimal 三险一金 = new BigDecimal("30002");
        BigDecimal 专向 = new BigDecimal("16500");
//        BigDecimal 固定 = new BigDecimal("60000");
        BigDecimal 需要纳税收入 = 总收入.subtract(三险一金)
                .subtract(专向);

        BigDecimal 月 = new BigDecimal("12");
        BigDecimal 零 = new BigDecimal("0");
        BigDecimal 纳税基准1 = new BigDecimal("5000").multiply(月);
        BigDecimal 纳税基准2 = new BigDecimal("8000").multiply(月);
        BigDecimal 纳税基准3 = new BigDecimal("17000").multiply(月);
        BigDecimal 纳税基准4 = new BigDecimal("30000").multiply(月);
        BigDecimal 纳税基准5 = new BigDecimal("40000").multiply(月);
        BigDecimal 纳税基准6 = new BigDecimal("60000").multiply(月);
        BigDecimal 纳税基准7 = new BigDecimal("85000").multiply(月);
        BigDecimal 需纳税额 = new BigDecimal("0");

        BigDecimal xx = 需要纳税收入.subtract(纳税基准7);
        if(xx.compareTo(零)>0){
            需要纳税收入 = 纳税基准7;
            需纳税额 = 需纳税额.add(xx.multiply(new BigDecimal("0.45")));
        }
        xx = 需要纳税收入.subtract(纳税基准6);
        if(xx.compareTo(零)>0){
            需要纳税收入 = 纳税基准6;

            需纳税额 = 需纳税额.add(xx.multiply(new BigDecimal("0.35")));
        }
        xx = 需要纳税收入.subtract(纳税基准5);
        if(xx.compareTo(零)>0){
            需要纳税收入 = 纳税基准5;

            需纳税额 = 需纳税额.add(xx.multiply(new BigDecimal("0.30")));
        }
        xx = 需要纳税收入.subtract(纳税基准4);
        if(xx.compareTo(零)>0){
            需要纳税收入 = 纳税基准4;

            需纳税额 = 需纳税额.add(xx.multiply(new BigDecimal("0.25")));
        }
        xx = 需要纳税收入.subtract(纳税基准3);
        if(xx.compareTo(零)>0){
            需要纳税收入 = 纳税基准3;

            需纳税额 = 需纳税额.add(xx.multiply(new BigDecimal("0.20")));
        }
        xx = 需要纳税收入.subtract(纳税基准2);
        if(xx.compareTo(零)>0){
            需要纳税收入 = 纳税基准2;
            BigDecimal multiply = xx.multiply(new BigDecimal("0.10"));
            需纳税额 = 需纳税额.add(multiply);
        }
        xx = 需要纳税收入.subtract(纳税基准1);
        if(xx.compareTo(零)>0){
            需纳税额 = 需纳税额.add(xx.multiply(new BigDecimal("0.03")));
        }

        System.out.println(需纳税额);


    }
}
